import Vue from 'vue';
import VueRouter from 'vue-router';
import Home from '../components/Home.vue';
import Login from '../components/Login.vue';
import Welcome from '../components/Welcome.vue';
import Users from '../components/user/Users.vue';
import Rights from '../components/power/Rights.vue';
import Roles from '../components/power/Roles.vue';
import Cate from '../components/goods/Cate.vue';
import Params from '../components/goods/Params.vue';
import GoodsList from '../components/goods/List.vue';
import Add from '../components/goods/Add.vue';
import Order from '../components/order/Order.vue'
import Report from '../components/report/Report.vue'

Vue.use(VueRouter);

const routes = [
	{ path: '/', redirect: '/login' },
	{
		path: '/login',
		name: '登录',
		component: Login,
	},
	{
		path: '/home',
		name: '首页',
		component: Home,
		redirect: '/welcome',
		children: [
			{
				path: '/welcome',
				component: Welcome,
			},
			{
				path: '/users',
				component: Users,
			},
			{
				path: '/rights',
				component: Rights,
			},
			{
				path: '/roles',
				component: Roles,
			},
			{
				path: '/categories',
				component: Cate,
			},
			{
				path: '/params',
				component: Params,
			},
			{
				path: '/goods',
				component: GoodsList,
			},
			{
				path: '/goods/add',
				component: Add,
			},
			{
				path: '/orders',
				component: Order,
			},
			{
				path: '/reports',
				component: Report,
			},
		],
	},
];

const router = new VueRouter({
	mode: 'history',
	base: process.env.BASE_URL,
	routes,
});

// 全局前置守卫
router.beforeEach((to, from, next) => {
	// to 将要访问的路径
	// form 代表从哪个路径跳转而来
	// next 是一个函数, 表示放行
	if (to.path == '/login') return next();
	// 获取 token
	const tokenStr = window.sessionStorage.getItem('token');
	if (!tokenStr) return next('/login');
	next();
});

export default router;
